package main

import (
	"github.com/jinzhu/gorm"
	_ "github.com/jinzhu/gorm/dialects/mysql"
)

// type User struct {
// 	Id    int
// 	Name  string
// 	Age   int
// 	Addr  string
// 	Pic   string
// 	Phone int
// }

func main01() {
	// 连接数据库
	// 用户名:密码@tcp(ip:port)/数据库名?charset=utf8&parseTime=True&loc=Local
	dsn := "root:123456@tcp(localhost:3306)/lianjia?charset=utf8&parseTime=True&loc=Local"
	db, err := gorm.Open("mysql", dsn)
	if err != nil {
		panic(err)
	}

	defer db.Close() // 关闭空闲的连接

	// 创建表,定义一个结构体，进行绑定
	// db.CreateTable(&User{}) // 表名为结构体名+s
	// 指定表
	// db.Table("user").CreateTable(&User{})

	// 删除表
	// db.DropTable("users") // 传入表名
	// db.DropTable(&User{}) // 传入结构体

	// 判断表是否存在
	// b := db.HasTable("user")
	// b := db.HasTable(&User{})
	// fmt.Println(b)

	// 自动迁移数据库, 可以添加缺少的列和索引，不会改变现有列的类型或删除未使用的列
	// db.AutoMigrate(&User{})
	// db.Table("user").AutoMigrate(&User{}) // 可以传入多个模型
}
